<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class cpModuleNouvellePage extends cpModuleAdmin
{
	
	
	
		
	
	/// @name Initialisation
	//@{
	
	
	public function __construct($core)
	{
		
		parent::__construct($core);   
	
		# Permission nécessaire: pages
		$this->core->auth->verifierPermission('pages', true);

		$this->setTitreModule(__('Nouvelle page'));
	
		# Lien remonter		
		$this->setPrev('pages&cat_id='.$_SESSION[CP_DERNIERE_CATEGORIE_AFFICHEE], 'Pages');
		
		$this->ajouterBoutonAction(__('Créer'), '#', 'boutonAction_creerPage');
		
		$this->setActionsAutorisees('creerPage');
		
		# CSS et Javascript
		$this->setJavascript('nouvellePage');
	 
	}
	//@}
    
	
	

	
	/// @name Formulaires
	//@{
	
	
	public function action_creerPage()
	{

		# Créer la page
		$cur = $this->core->con->openCursor($this->core->prefix.'temp_pages');
		$cur->cat_id = (integer) $_POST['cat_id'];
		$cur->page_generateur = $_POST['page_generateur'];
		$cur->page_theme = $_POST['page_theme'];
		$cur->page_statut = CP_STATUT_ONLINE;
		$cur->page_modifiee = CP_PAGEMODIFIEE_OUI;
		$cur->page_langue = $_POST['page_langue'];
		$cur->page_url = $_POST['page_url'];
		$cur->page_titre = $_POST['page_titre'];
		$cur->page_entete = '';
		$cur->page_entete_xhtml = '';
		$cur->page_contenu = '';
		$cur->page_contenu_xhtml = '';
		$cur->page_options = '';
		$cur->page_commentaires = $this->core->site->getPropriete('page_commentaires');
		$cur->page_date = dt::str('%Y-%m-%d %H:%M:%S');
		$cur->page_date_modification = dt::str('%Y-%m-%d %H:%M:%S');
		$cur->utilisateur_id = (integer) $this->core->auth->getUtilisateurID();
		$cur->modification_utilisateur_id = (integer) $this->core->auth->getUtilisateurID();
		$cur->page_mots = '';
		$this->core->site->creerPage($cur);
		
		# Redirection
		http::redirect('index.php?module=modifierPage&page_id='.(integer) $cur->page_id.'&nouvellePage=1');
		
	}
	//@} 
    
	

	
	
	/// @name Interface du module
	//@{
	
	
	public function interfaceModule()
	{

		# Valeurs des champs de formulaire		
		$page_titre = isset($_POST['page_titre']) ? html::escapeHTML($_POST['page_titre']) : '';
		$page_url = isset($_POST['page_url']) ? html::escapeHTML($_POST['page_url']) : '';
		$cat_id = isset($_POST['cat_id']) ? $_POST['cat_id'] : $_SESSION[CP_DERNIERE_CATEGORIE_AFFICHEE];
		$page_langue = isset($_POST['page_langue']) ? $_POST['page_langue'] : $this->core->auth->utilisateur->utilisateur_langue;
		$page_generateur = isset($_POST['page_generateur']) ? html::escapeHTML($_POST['page_generateur']) : 'normal';
		$page_theme = isset($_POST['page_theme']) ? html::escapeHTML($_POST['page_theme']) : '_default';
		
		# Combo générateurs de page
		$generateursCombo = array();
		foreach($this->core->getGenerateurs() as $k => $v) {
			$generateursCombo[$v['nom']] = $v['identifiant'];
		}

		# Combo thèmes
		$themesCombo = array_merge(
			array(__('[thème du site]') => '_default'),
			$this->core->getComboThemes()
		);		
		
		# HTML de l'interface
		$html =
			'<form action="index.php?module=nouvellePage" method="post" id="formulaireNouvellePage">'.
				$this->afficherMessages().
				$this->core->nonceHTML('creerPage').
				form::hidden('action', 'creerPage').
				form::hidden('erreur', (integer) $this->erreursFormulairePresentes()).
				'<p>'.
					'<label for="page_titre">'.__('Titre').'</label>'.
					$this->field('page_titre', 50, 250, $page_titre).
				'</p>'.
				'<p>'.
					'<label for="page_url">'.__('URL').'</label>'.
					$this->field('page_url', 50, 200, $page_url).
				'</p>'.
				'<p>'.
					'<label for="cat_id">'.__('Dossier parent').'</label>'.
					$this->combo('cat_id', $this->core->site->getComboCategories(), $cat_id).
				'<p>'.
				'<p>'.
					'<label for="page_langue">'.__('Langue').'</label>'.
					$this->combo('page_langue', $this->core->getComboLangues(), $page_langue).
				'</p>'.
				'<p>'.
					'<label for="page_generateur">'.__('Générateur de page').'</label>'.
					$this->combo('page_generateur', $generateursCombo, $page_generateur).
				'</p>'.
				'<p>'.
					'<label for="page_theme">'.__('Thème').'</label>'.
					$this->combo('page_theme', $themesCombo, $page_theme).
				'</p>'.
				'<p>'.
					'<input type="submit" value="'.__('Créer').'" />'.
				'</p>'.
			'</form>';
			
		return $html;
	
	}
	//@}
	
	
}

?>